/*******************************************************************************
 * ATE, Automation Test Engine
 *
 * Copyright 2015, Montreal PROT, or individual contributors as
 * indicated by the @author tags or express copyright attribution
 * statements applied by the authors.  All third-party contributions are
 * distributed under license by Montreal PROT.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *******************************************************************************/
package pages;


import org.openqa.selenium.WebDriver;
import org.testng.Assert;

/**
 * The Class Homepage.
 */
public class Homepage {
	
	/** The driver. */
	private final WebDriver driver;
	/** The loginf. */
	private LoginForm loginf;
	
	/** The pf login f. */
	private PFLoginForm pfLoginF;	
	/**
	 * @return the loginf
	 */
	public LoginForm getLoginf() {
		return loginf;
	}

	/**
	 * @param loginf the loginf to set
	 */
	public void setLoginf(final LoginForm loginf) {
		this.loginf = loginf;
	}

	/**
	 * @return the pfLoginF
	 */
	public PFLoginForm getPfLoginF() {
		return pfLoginF;
	}

	/**
	 * @param pfLoginF the pfLoginF to set
	 */
	public void setPfLoginF(final PFLoginForm pfLoginF) {
		this.pfLoginF = pfLoginF;
	}

	/**
	 * @return the driver
	 */
	public WebDriver getDriver() {
		return driver;
	}

	
	
	/**
	 * Instantiates a new homepage.
	 *
	 * @param driver the driver
	 */
	public Homepage(final WebDriver driver)
	{
		this.driver = driver;
		
		Assert.assertTrue(driver.getPageSource().contains("As a graduate of the MPTQA Information Technology program")
				&& driver.getPageSource().contains("Forgot your password?"), "Homepage not appears.");
		
		loginf = new LoginForm(this.driver);
		pfLoginF = new PFLoginForm(this.driver);
	}
	
	/**
	 * Gets the login form.
	 *
	 * @return the login form
	 */
	public LoginForm getLoginForm()
	{
		return loginf;
	}
	
	/**
	 * Gets the PF login form.
	 *
	 * @return the PF login form
	 */
	public PFLoginForm getPFLoginForm()
	{
		return pfLoginF;
	}

}
